package com.mxpio.crm.customer.service;

import com.mxpio.crm.customer.entity.CrmCustomer;

import com.mxpio.crm.report.vo.CrmAnalysis;
import com.mxpioframework.jpa.query.Criteria;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 客户管理Service接口
 *
 * @author Cheng
 * @date 2022-11-22
 */
public interface ICrmCustomerService {
    /**
     * 查询客户管理列表
     *
     * @param criteria 条件
     * @param pageable 分页参数
     * @return 客户管理集合
     */
    public Page<CrmCustomer> page(Criteria criteria, Pageable pageable);

    /**
     * 根据Id查询
     *
     * @param id
     * @return
     */
    CrmCustomer getById(String id);

    /**
     * 新增
     *
     * @param crmCustomer
     */
    public void save(CrmCustomer crmCustomer);

    /**
     * 更新
     *
     * @param crmCustomer
     */
    public void update(CrmCustomer crmCustomer);

    /**
     * 根据Id删除
     *
     * @param id
     */
    public int delete(String id);

    public List<String> getDeptCodes();

    /**
     * 获取首页解析数据
     *
     * @return
     */
    public CrmAnalysis getAnalysis();

}
